home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / New System Software Extensions / QuickDraw™ GX v1.0ß2 / Sample Code / Printing Samples / Printer Drivers… / LaserWriterIISC / OldAPIResources.r < prev    next >
Encoding:
Text File  |  1993-09-13  |  28.9 KB  |  1,049 lines  |  [TEXT/MPS ]

  1. /* ------------------------------------------------------------------------------
  2. FILENAME
  3.     OldAPIResources.r
  4.  
  5. DESCRIPTION
  6.     This module contains the LaserWriter SC resource constants and types that
  7.     are needed to support the old (i.e. QuickDraw) application printing interface.
  8.     
  9.     Note: resources specific to the old API (e.g. print and style dialog resources)
  10.     must retain the original resource ID's (e.g. -8192).  Don't set these resource
  11.     ID's to be based upon printingDriverBaseID.  Also note that all resources
  12.     should be designated to load into the system heap.
  13.         
  14.     9/13/93 - dmh - Updated for the b2 seed.
  15.         
  16. COPYRIGHT
  17.      Copyright Apple Computer, Inc. 1988-1992
  18.      All rights reserved. 
  19.     
  20. -------------------------------------------------------------------------------- */
  21.  
  22. // System 7.0 Compatible
  23. #define SystemSevenOrLater        1
  24.  
  25. // Include System Resource Definitions
  26. #include "Types.r"
  27. #include "SysTypes.r"
  28. #include "BalloonTypes.r"
  29.  
  30. // Include the LaserWriter SC driver constants that are used in the resources 
  31. #include "Resources.h"
  32.  
  33. // Include the public QuickDraw GX printing files 
  34. #include "PrintingResTypes.r"
  35.  
  36.  
  37. /*********************************************************************************
  38.  *                                    TYPES                                                               *
  39.  *********************************************************************************/
  40.  
  41. type 'PREC' (0)             // LaserWriter SC - Old Style Print Record Definition that should be compatible with Syste, 7.0 version of LW SC driver
  42. {
  43.     integer = 3;                                        //iPrVersion - 3 = last version of LW SC driver before QuickDraw GX version
  44.     
  45.     
  46.                                                             //PrInfo 
  47.     integer;                                                    //    iDev 
  48.     integer;                                                    //    iVRes 
  49.     integer;                                                    //    iHRes 
  50.     rect;                                                        //    rPage 
  51.     
  52.     
  53.     rect;                                                    //rPaper 
  54.     
  55.     
  56.                                                             //PrStl 
  57.     byte;                                                        //    wDev refNum    
  58.     boolean NoIWf7, IWf7;                                //    wDev f7 (NOT USED) 
  59.     boolean NoIWDftBits, IWDftBits;                    //    wDev f6, fDraftBits (NOT USED) 
  60.     boolean NoIWResSet, IWResSet;                        //    wDev f5, fResSet (NOT USED) 
  61.     boolean NoIWScroll, IWScroll;                        //    wDev f4, fScroll (NOT USED) 
  62.     boolean NoIW2xZoom, IW2xZoom;                        //    wDev f3, f2xZoom (NOT USED) 
  63.     boolean NoIWSqPix, IWSqPix;                        //    wDev f2, fSqPix (NOT USED) 
  64.     boolean Landscape, Portrait;                        //    wDev f1, fPortrait 
  65.     boolean IWLowRes, IWHighRes;                        //    wDev f0, fHiRes (NOT USED) 
  66.     integer;                                                    //    iPageV 
  67.     integer;                                                    //    iPageH 
  68.     byte;                                                        //    bPort 
  69.     byte HandFeed, AutoFeed, Other1, Other2;        //    feed: the old SC driver defined AutoFeed as 1 and Manual as 0.    
  70.     
  71.     
  72.                                                             //PrInfoPT 
  73.     integer = 0xFD00;                                        //    iDev: Font mgr/QuickDraw device code
  74.     integer;                                                    //    iVRes 
  75.     integer;                                                    //    iHRes 
  76.     rect;                                                        //    rPage 
  77.     
  78.     
  79.                                                             //PrXInfo 
  80.     integer;                                                    // iCopies 
  81.     boolean Nof15, Yesf15;                                //    wFlags f15, f?? 
  82.     boolean Nof14, Yesf14;                                //    wFlags f14, f?? 
  83.     boolean Nof13, Yesf13;                                //    wFlags f13, f?? 
  84.     boolean Nof12, Yesf12;                                //    wFlags f12, f?? 
  85.     boolean Nof11, Yesf11;                                //    wFlags f11, f?? 
  86.     boolean Nof10, Yesf10;                                //    wFlags f10, f?? 
  87.     boolean NoGrayScl, YesGrayScl;                    //    wFlags f9,  fGrayScl {B10}    
  88.     boolean YesAbortCk, NoAbortCk;                    //    wFlags f8,  fNoAbortCheck {B10}    
  89.     boolean NoScale25, Scale25;                        //    wFlags f7,  fScale25    
  90.     boolean NoDftBits, DftBits;                        //    wFlags f6,  fDraftBits 
  91.     boolean NoResSet, ResSet;                            //    wFlags f5,  fResSet 
  92.     boolean NoBits4x, Bits4x;                            //    wFlags f4,  f4xBits 
  93.     boolean NoScale50, Scale50;                        //    wFlags f3,  fScale50    
  94.     boolean NoScale75, Scale75;                        //    wFlags f2,  fScale75    
  95.     boolean XLandscape, XPortrait;                    //    wFlags f1,  fPortrait (NOT USED)
  96.     boolean NoTxSmooth, TxSmooth;                        //    wFlags f0,  fTxSmooth 
  97.     integer;                                                    //    iBandh 
  98.     integer;                                                    //    iDevBytes 
  99.     integer;                                                    //    iBands 
  100.     byte dbl=-2, norm=0;                                    //    bPatScale 
  101.     byte;                                                        //    bULThick    
  102.     byte;                                                        //    bULOffset 
  103.     byte;                                                        //    bULShadow 
  104.     byte scanTB, scanBT, scanLR, scanRL;            //    scan 
  105.     fill byte;                                                //    bXInfoX 
  106.     
  107.     
  108.                                                             //PrJob 
  109.     integer;                                                    //    iFstPage    
  110.     integer;                                                    //    iLstPage    
  111.     integer;                                                    //    iFakeCopies    
  112.     byte Draft, Spool, User1, User2;                    //    bJDocLoop 
  113.     byte;                                                        //    fFromUsr    
  114.     longint;                                                    //    pIdleProc 
  115.     longint;                                                    //    pFileName 
  116.     integer;                                                    //    iFileVol    
  117.     byte;                                                        //    bFileVers 
  118.     byte;                                                        //    bJobFlags 
  119.                                                             // Make 120 byte total 
  120.     fill word [5];                                            // not used
  121.     rect;                                                        // contains a copy of rPaper
  122.     fill word [10];                                        // not used    
  123. };
  124.  
  125.  
  126. /*********************************************************************************
  127.  *                                    RESOURCES                                                           *
  128.  *********************************************************************************/
  129.  
  130. /*************************** Old API Message Override Resource **************************/
  131. // This overrideType resource tells the Printing Manager which old API messages we want to override, 
  132. // as well as some new backward compatibility messages. 
  133.  
  134. resource gxOverrideType (gxDriverCompatibilityOverrideID, sysheap, purgeable)
  135. {
  136.     {
  137.         gxPrValidate,                 kOldAPISegmentID, kFirstMsgJumpTableOffset,
  138.         gxConvertPrintRecordTo,     kOldAPISegmentID, kFirstMsgJumpTableOffset + 4,
  139.         gxConvertPrintRecordFrom,    kOldAPISegmentID, kFirstMsgJumpTableOffset + 8,
  140.     };
  141. };
  142.  
  143.  
  144. /*************************** Old Application Compatibility Resource **************************/
  145. // This custType resource is used by the Printing Manager.  It defines some basic options for 
  146. // use with old applications.  Note: every driver should contain one of these resources. 
  147.  
  148. resource gxCustType (gxCustID, sysheap, purgeable)
  149. {
  150.     kHorizHighRes,                        // horizontal device resolution (dpi) 
  151.     kVertHighRes,                         // vertical device resolution (dpi) 
  152.     laserWriterSC,                        // type of "upDriver" to use 
  153.     {4, 4},                                // pattern stretching factor. Set to 4 (nearest thing to 300 dpi/72 dpi) 
  154.     gxReplaceLineWidthTranslation    // SC Style LineWidth comments 
  155. };
  156.  
  157.  
  158. /************************** PREC Resources **************************/
  159. // This PREC definition represents the default print record definition 
  160. // for the old LaserWriter SC driver. This resource is accessed by the 
  161. // Universal Dialog Handler. 
  162. #define    kVertRPaperDefault        1320
  163. #define    kHorizRPaperDefault        1020
  164.  
  165. resource 'PREC' (0, sysheap, purgeable)            // PREC 0 - Default print record definition for the old LaserWriter SC driver 
  166. {
  167.     // PrInfo 
  168.     0,
  169.     72,                    // app resolution
  170.     72,
  171.     {kRPageDefault},
  172.         
  173.     // rPaper 
  174.     {kRPaperDefault},
  175.     
  176.     // PrStl 
  177.     kPrinterID,
  178.     NoIWf7,
  179.     NoIWDftBits,
  180.     NoIWResSet,
  181.     NoIWScroll,
  182.     NoIW2xZoom,
  183.     NoIWSqPix,
  184.     Portrait,
  185.     IWHighRes,
  186.     kVertRPaperDefault,
  187.     kHorizRPaperDefault,
  188.     0,
  189.     AutoFeed,
  190.     
  191.     // PrInfoPT     
  192.     kVertHighExactRes,
  193.     kHorizHighExactRes,
  194.     {kRPageHighExactRes},
  195.     
  196.     // PrXInfo 
  197.     0,
  198.     Nof15,
  199.     Nof14,
  200.     Nof13,
  201.     Nof12,
  202.     Nof11,
  203.     Nof10,
  204.     YesGrayScl,
  205.     YesAbortCk,
  206.     NoScale25,
  207.     NoDftBits,
  208.     NoResSet,
  209.     NoBits4x,
  210.     NoScale50,
  211.     NoScale75,
  212.     XPortrait,
  213.     NoTxSmooth,
  214.     0,
  215.     0,
  216.     0,
  217.     kPatScale,
  218.     kULThick,
  219.     kULOffset,
  220.     kULShadow,
  221.     kScanDirection,
  222.     
  223.     // PrJob 
  224.     1,
  225.     9999,
  226.     1,
  227.     Draft,
  228.     1,
  229.     0,
  230.     0,
  231.     0,
  232.     0,
  233.     0,
  234.  
  235.     // PrintX
  236.     {kRPaperDefault}
  237. };
  238.  
  239.  
  240. /************************** PrStlDialog Resources **************************/
  241. // These dialog related resources define the old LaserWriter SC's Style dialog. 
  242. // These resources are manipulated by the Universal Dialog Handler 
  243.  
  244. resource 'DLOG' (gxStlDialogResID, sysheap, purgeable)                // Style Dialog DLOG 
  245. {
  246.     {30, 20, 208, 492},
  247.     dBoxProc,
  248.     invisible,
  249.     noGoAway,
  250.     0x1,
  251.     gxStlDialogResID,
  252.     "Stl",
  253.     noAutoCenter
  254. };
  255.  
  256. resource 'DITL' (gxStlDialogResID, sysheap, purgeable)                // Style Dialog DITL 
  257. {
  258.     {    // array DITLarray: 21 elements 
  259.  
  260.         {4, 401, 23, 461}, Button { enabled, "OK" },
  261.         {31, 401, 50, 461}, Button { enabled, "Cancel" },
  262.         {4, 4, 20, 265}, StaticText { disabled, "^0 Page Setup" },        //    ^0 substitutes the name of the driver
  263.         {20, 5, 24, 393}, UserItem { disabled },
  264.  
  265.         {88, 8, 104, 92}, StaticText { disabled, "Orientation:" },
  266.         {106, 21, 138, 53}, UserItem { enabled },            // Orientation 
  267.         {106, 58, 138, 90}, UserItem { enabled },            // Orientation 
  268.  
  269.         {32, 11, 48, 57}, StaticText { disabled, "Paper:" },
  270.         {32, 64, 48, 164}, RadioButton { enabled, "US Letter" },
  271.         {48, 64, 64, 164}, RadioButton { enabled, "US Legal" },
  272.         {32, 192, 48, 282}, RadioButton { enabled, "A4 Letter" },
  273.         {48, 192, 64, 282}, RadioButton { enabled, "B5 Letter" },
  274.         {64, 64, 80, 191}, RadioButton { enabled, "Nº 10 Envelope" },
  275.  
  276.         {88, 132, 104, 212}, StaticText { disabled, "Reduction:" },
  277.         {102, 241, 118, 449}, CheckBox { enabled, "Exact Bit Images (Shrink 4%)" },
  278.         
  279.         {4, 341, 19, 365}, UserItem { enabled },            // area for version number 
  280.         {0, 395, 27, 465}, UserItem { disabled },            // user item for OK button 
  281.  
  282.         {103, 138, 119, 198}, RadioButton { enabled, "100%" },
  283.         {118, 138, 134, 198}, RadioButton { enabled, "75%" },
  284.         {133, 138, 149, 198}, RadioButton { enabled, "50%" },
  285.         {148, 138, 164, 198}, RadioButton { enabled, "25%" }
  286.     }
  287. };
  288.  
  289. resource 'dctl' (gxStlDialogResID, sysheap, purgeable)                // Universal Dialog Handler dctl for Style Dialog 
  290. {
  291.     21,
  292.     {
  293.         Button {2, cancel},
  294.         Frill {3, printerName},
  295.         Frill {4, line},
  296.         Orientation {6, 7, 0, 0},
  297.         PaperSizes {0, 0, { 9, 10, 11, 12, 13 }},
  298.         Toggle {15, bPreciseBitmap},
  299.         Frill {16, version},
  300.         Frill {17, default},
  301.         Cluster {user0, {18, 19, 20, 21 }},
  302.     }
  303. };
  304.  
  305.  
  306.  
  307. // This resource is needed for proper use of color in Style dialog
  308. resource 'dctb' (gxStlDialogResID, sysheap, purgeable)
  309. {
  310.     {    /* array ColorSpec: 0 elements */
  311.     }
  312. };
  313.  
  314.  
  315. /************************** PrJobDialog Resources **************************/
  316. // These dialog related resources define the old LaserWriter SC's Print dialog. 
  317. // These resources are manipulated by the Universal Dialog Handler 
  318.  
  319. resource 'DLOG' (gxJobDialogResID, sysheap, purgeable)             // Job Dialog DLOG 
  320. {
  321.     {28, 26, 156, 500},
  322.     dBoxProc,
  323.     invisible,
  324.     noGoAway,
  325.     0x1,
  326.     gxJobDialogResID,
  327.     "Job",
  328.     noAutoCenter
  329. };
  330.  
  331. resource 'DITL' (gxJobDialogResID, sysheap, purgeable)             // Job Dialog DITL 
  332. {
  333.     {    // array DITLarray: 20 elements 
  334.         {4, 401, 23, 461}, Button { enabled, "Print" },
  335.         {31, 401, 50, 461}, Button { enabled, "Cancel" },
  336.         {4, 4, 20, 265}, StaticText { disabled, "^0 Print " },        //    ^0 substitutes the name of the driver
  337.         {20, 5, 24, 393}, UserItem { disabled },
  338.         {94, 400, 114, 460}, UserItem { disabled },
  339.  
  340.         {32, 128, 48, 173}, StaticText { disabled, "Pages:" },
  341.         {32, 184, 48, 224}, RadioButton { enabled, "All" },
  342.         {32, 224, 48, 280}, RadioButton { enabled, "From:" },
  343.         {32, 288, 48, 322}, EditText { enabled, "" },
  344.         {32, 328, 48, 348}, StaticText { disabled, "To:" },
  345.  
  346.         {32, 352, 48, 386}, EditText { enabled, "" },
  347.         {32, 16, 48, 66}, StaticText { disabled, "Copies:" },
  348.         {32, 72, 48, 98}, EditText { disabled, "1" },
  349.         {72, 16, 88, 109}, StaticText { disabled, "Paper Source:" },
  350.         {72, 120, 88, 243}, RadioButton { enabled, "Paper Cassette" },
  351.  
  352.         {72, 264, 88, 367}, RadioButton { enabled, "Manual Feed" },
  353.         {4, 341, 19, 365}, UserItem { enabled },
  354.         {0, 395, 27, 465}, UserItem { disabled },
  355.     }
  356. };
  357.  
  358. resource 'dctl' (gxJobDialogResID, sysheap, purgeable)                // Universal Dialog Handler dctl for Job Dialog 
  359. {
  360.     19,
  361.     {
  362.         Button {2,    cancel },
  363.         Frill {3, printerName },
  364.         Frill {4, line },
  365.         Copies {13 },
  366.         PageRange {7, 8, 9, 11 },
  367.         Cluster {feed, { 15, 16 } },
  368.         Frill {17, version },
  369.         Frill {18, default },
  370.         DialogBtn {19, 3, 3},
  371.     }
  372. };
  373.  
  374.  
  375. // This resource is needed for proper use of color in Job dialog
  376. resource 'dctb' (gxJobDialogResID, sysheap, purgeable)
  377. {
  378.     {    /* array ColorSpec: 0 elements */
  379.     }
  380. };
  381.  
  382.  
  383. /*************************** Old API Paper Type Definitions **************************/
  384. // These paper type definitions represent the settings of the old LaserWriter SC's paper 
  385. // sizes. 
  386.  
  387. resource 'ptyp' (kOldPaperTypesID + 1, sysheap, purgeable)            // US Letter 
  388. {
  389.     "US Letter",
  390.     
  391.     // page rectangle 
  392.     0x00000000,                // 0.0 
  393.     0x00000000,                // 0.0 
  394.     0x02400000,                // 8.0 
  395.     0x02FB0000,                // 10.5972 
  396.  
  397.     // paper rectangle 
  398.     0xFFEE0000,                // -0.25 
  399.     0xFFF10000,                // -0.25 
  400.     0x02520000,                // 8.24 
  401.     0x03090000,                // 10.75 
  402.     
  403.     usLetterBase,
  404.     kDrvrCreatorType,
  405.  
  406.     inch,
  407.     oldStylePaperType,
  408.     fixedPrintArea,
  409.     isDefaultPaperType,
  410.     defaultBasePT,
  411.     {}
  412. };
  413.  
  414. resource 'ptyp' (kOldPaperTypesID + 2, sysheap, purgeable)            // US Legal 
  415. {
  416.     "US Legal",
  417.     
  418.     // page rectangle 
  419.     0x00000000,                    /* 6.75 x 12.0 */
  420.     0x00000000,                
  421.     0x01E60000,                    
  422.     0x03600000,                
  423.  
  424.     // paper rectangle 
  425.     0xFFF1D70A,                // -0.196667 
  426.     0xFFF851F0,                // -0.106666 
  427.     0x0255D70C,                // 8.30333 
  428.     0x03E851F0,                // 13.8933 
  429.  
  430.     usLegalBase,
  431.     kDrvrCreatorType,
  432.  
  433.     inch,    
  434.     oldStylePaperType,
  435.     fixedPrintArea,
  436.     notDefaultPaperType,
  437.     notDefaultBasePT,
  438.     {}
  439. };
  440.  
  441. resource 'ptyp' (kOldPaperTypesID + 3, sysheap, purgeable)            // A4 Letter 
  442. {
  443.     "A4 Letter",
  444.     
  445.     // page rectangle 
  446.     0x00000000,                // 8.00 x 11.25 
  447.     0x00000000,
  448.     0x02400000,
  449.     0x032A0000,
  450.  
  451.     // paper rectangle 
  452.     0xFFF70000,                //    8.25 x 11.66
  453.     0xFFF10000,
  454.     0x02490000,
  455.     0x0338C298,
  456.     
  457.     a4LetterBase,
  458.     kDrvrCreatorType,
  459.  
  460.     inch,    
  461.     oldStylePaperType,
  462.     fixedPrintArea,
  463.     notDefaultPaperType,
  464.     notDefaultBasePT,
  465.     {}
  466. };
  467.  
  468. resource 'ptyp' (kOldPaperTypesID + 4, sysheap, purgeable)            // B5 Letter 
  469. {
  470.     "B5 Letter",
  471.     
  472.     // page rectangle 
  473.     0x00000000,                // 0.0 
  474.     0x00000000,                // 0.0 
  475.     0x01DFC290,                // 6.66333 
  476.     0x02C251EC,                // 9.81 
  477.  
  478.     // paper rectangle 
  479.     0xFFEB5C29,                // -0.286667 
  480.     0x00073338,                // 0.100001 
  481.     0x01DE51EA,                // 6.64333 
  482.     0x02CBAE18,                // 9.94 
  483.  
  484.     b5LetterBase,
  485.     kDrvrCreatorType,
  486.  
  487.     inch,    
  488.     oldStylePaperType,
  489.     fixedPrintArea,
  490.     notDefaultPaperType,
  491.     notDefaultBasePT,
  492.     {}
  493. };
  494.  
  495. resource 'ptyp' (kOldPaperTypesID + 5, sysheap, purgeable)            // Nº 10 Envelope 
  496. {
  497.     "Nº 10 Envelope",
  498.     
  499.     // page rectangle 
  500.     0x00000000,                    // 9.1 x 3.73 
  501.     0x00000000,                    
  502.     0x010C8F5C,                    
  503.     0x028F3333,                    
  504.     
  505.     // paper rectangle 
  506.     0xFFF1BE77,                    // 9.5 x 4.125 
  507.     0xFFF1999A,                    
  508.     0x011AD0E5,                    
  509.     0x029D9999,                    
  510.  
  511.     unknownBase,
  512.     kDrvrCreatorType,
  513.  
  514.     inch,
  515.     oldStylePaperType,
  516.     fixedPrintArea,
  517.     notDefaultPaperType,
  518.     notDefaultBasePT,
  519.     {}
  520. };
  521.  
  522.  
  523. /*************************** Help Manager Resource Definitions **************************/
  524. // These resources define the help text that will be displayed by the System 7 Help Manager
  525. // if help is enabled and on eof the print dialogs is visible.
  526.  
  527.  
  528. // The 'hwin' resource is used by the Help Manager and it links 'hdlg'
  529. // resources to the dialogs to which they apply.  In this case, we have
  530. // two 'hwin' list entries that reference the two old app. print dialogs.
  531.  
  532. resource 'hwin' (kHwinRsrcID, sysheap, purgeable)
  533. {
  534.     HelpMgrVersion,
  535.     hmDefaultOptions,
  536.     {
  537.         gxStlDialogResID, 'hdlg', 3, "Stl",        // Reference to PrStlDialog's 'hdlg' resource
  538.         gxJobDialogResID, 'hdlg', 3, "Job"        // Reference to PrJobDialog's 'hdlg' resource
  539.     }
  540. };
  541.  
  542.  
  543. // The 'hfdr' resource tells the Finder that we have help information it should
  544. // display when the user moves the mouse over the LaserWriter IISC icon when help is enabled.
  545.  
  546. resource 'hfdr' (kHfdrRsrcID, sysheap, purgeable)
  547. {
  548.     HelpMgrVersion,
  549.     hmDefaultOptions,
  550.     0,                    // Default balloon definition function
  551.     0,                    // Default variation code
  552.     {
  553.         HMSTRResItem
  554.         {
  555.             kFinderHelpSTRID    // Resource ID of help string ('STR ') to display
  556.         }
  557.     }
  558. };
  559.  
  560.  
  561. // This string resource contains the help text that will be displayed in the Finder if you
  562. // move the mouse over the LaserWriter IISC icon when help is enabled.
  563.  
  564. resource 'STR ' (kFinderHelpSTRID, sysheap, purgeable)
  565. {
  566.     "LaserWriter IISC\n\n"
  567.     "To enable your Macintosh to print documents on a LaserWriter IISC connected to the SCSI port, place this file in your Extensions folder.";
  568. };
  569.  
  570.  
  571. // This 'hdlg' resource tells the system what help strings to display when the user moves
  572. // the mouse over the LaserWriter IISC's Style dialog with help enabled.
  573.  
  574. resource 'hdlg' (gxStlDialogResID, sysheap, purgeable)
  575. {
  576.     HelpMgrVersion,
  577.     0,                                        // Start help with the first item in the corresponding 'DITL'
  578.     hmDefaultOptions,
  579.     0,                                        // Default balloon definition function
  580.     0,                                        // Ballon variation code - hang below and to the right
  581.     HMStringResItem                    //    This list references help strings to be used for any missing items
  582.     {
  583.         {0, 0},
  584.         {0, 0, 0, 0},
  585.         gxStlDialogResID, 1,
  586.         gxStlDialogResID, 2,
  587.         gxStlDialogResID, 3,
  588.         gxStlDialogResID, 4
  589.     },
  590.     {
  591.         /* [1] */
  592.         HMStringResItem 
  593.         {                                    // OK button
  594.             {0, 0},                        //    default tip: middle right edge of item rect
  595.             {0, 0, 0, 0},                //    default alternate rectangle: use item rect
  596.             gxStlDialogResID, 5,
  597.             gxStlDialogResID, 6,
  598.             gxStlDialogResID, 7,
  599.             gxStlDialogResID, 8
  600.         },
  601.         /* [2] */
  602.         HMStringResItem 
  603.         {                                    // Cancel button
  604.             {0, 0},    
  605.             {0, 0, 0, 0},
  606.             gxStlDialogResID, 9,
  607.             gxStlDialogResID, 10,
  608.             gxStlDialogResID, 11,
  609.             gxStlDialogResID, 12
  610.         },
  611.         /* [3] */
  612.         HMSkipItem 
  613.         {                                    // Title of the dialog - LaserWriterIISC Page Setup
  614.         },
  615.         /* [4] */
  616.         HMSkipItem 
  617.         {                                    //    Horizontal line
  618.         },
  619.         /* [5] */
  620.         HMSkipItem 
  621.         {                                    // Orientation string
  622.         },
  623.         /* [6] */
  624.         HMStringResItem
  625.         {                                    // Portrait orientation
  626.             {0, 0},
  627.             {0, 0, 0, 0},
  628.             gxStlDialogResID, 33,
  629.             gxStlDialogResID, 34,
  630.             gxStlDialogResID, 35,
  631.             gxStlDialogResID, 36
  632.         },
  633.         /* [7] */    
  634.         HMStringResItem 
  635.         {                                    // Landscape orientation
  636.             {0, 0},
  637.             {0, 0, 0, 0},
  638.             gxStlDialogResID, 37,
  639.             gxStlDialogResID, 38,
  640.             gxStlDialogResID, 39,
  641.             gxStlDialogResID, 40
  642.         },
  643.         /* [8] */
  644.         HMSkipItem 
  645.         {                                    // Paper string
  646.         },
  647.         /* [9] */
  648.         HMStringResItem 
  649.         {                                    //    US Letter button
  650.             {0, 0},
  651.             {0, 0, 0, 0},
  652.             gxStlDialogResID, 13,
  653.             gxStlDialogResID, 14,
  654.             gxStlDialogResID, 15,
  655.             gxStlDialogResID, 16
  656.         },
  657.         /* [10] */
  658.         HMStringResItem 
  659.         {                                    //    US Legal button
  660.             {0, 0},
  661.             {0, 0, 0, 0},
  662.             gxStlDialogResID, 21,
  663.             gxStlDialogResID, 22,
  664.             gxStlDialogResID, 23,
  665.             gxStlDialogResID, 24
  666.         },
  667.         /* [11] */
  668.         HMStringResItem 
  669.         {                                    //    A4 Letter button
  670.             {0, 0},
  671.             {0, 0, 0, 0},
  672.             gxStlDialogResID, 17,
  673.             gxStlDialogResID, 18,
  674.             gxStlDialogResID, 19,
  675.             gxStlDialogResID, 20
  676.         },
  677.         /* [12] */
  678.         HMStringResItem 
  679.         {                                    //    B5 Letter button
  680.             {0, 0},
  681.             {0, 0, 0, 0},
  682.             gxStlDialogResID, 25,
  683.             gxStlDialogResID, 26,
  684.             gxStlDialogResID, 27,
  685.             gxStlDialogResID, 28
  686.         },
  687.         /* [13] */
  688.         HMStringResItem 
  689.         {                                    // No. 10 Envelope button
  690.             {0, 0},
  691.             {0, 0, 0, 0},
  692.             gxStlDialogResID, 29,
  693.             gxStlDialogResID, 30,
  694.             gxStlDialogResID, 31,
  695.             gxStlDialogResID, 32
  696.         },
  697.         /* [14] */
  698.         HMStringResItem 
  699.         {                                    //    Reduction string
  700.             {0, 0},
  701.             {0, 0, 0, 0},
  702.             gxStlDialogResID, 33,
  703.             gxStlDialogResID, 34,
  704.             gxStlDialogResID, 35,
  705.             gxStlDialogResID, 36
  706.         },
  707.         /* [15] */
  708.         HMStringResItem 
  709.         {                                    // Exact bit images check box
  710.             {0, 0},
  711.             {0, 0, 0, 0},
  712.             gxStlDialogResID, 53,
  713.             gxStlDialogResID, 54,
  714.             gxStlDialogResID, 55,
  715.             gxStlDialogResID, 56
  716.         },
  717.         /* [16] */
  718.         HMSkipItem {                    //    Version number string
  719.  
  720.         },
  721.         /* [17] */
  722.         HMSkipItem 
  723.         {                                    //    User item for the OK button
  724.         },
  725.         /* [18] */
  726.         HMStringResItem 
  727.         {                                    //    100% reduction button
  728.             {0, 0},
  729.             {0, 0, 0, 0},
  730.             gxStlDialogResID, 41,
  731.             gxStlDialogResID, 42,
  732.             gxStlDialogResID, 43,
  733.             gxStlDialogResID, 44
  734.         },
  735.         /* [19] */
  736.         HMStringResItem 
  737.         {                                    //    75% reduction button
  738.             {0, 0},
  739.             {0, 0, 0, 0},
  740.             gxStlDialogResID, 45,
  741.             gxStlDialogResID, 46,
  742.             gxStlDialogResID, 47,
  743.             gxStlDialogResID, 48
  744.         },
  745.         /* [20] */
  746.         HMStringResItem 
  747.         {                                    // 50% reduction button
  748.             {0, 0},
  749.             {0, 0, 0, 0},
  750.             gxStlDialogResID, 49,
  751.             gxStlDialogResID, 50,
  752.             gxStlDialogResID, 51,
  753.             gxStlDialogResID, 52
  754.         },
  755.         /* [21] */
  756.         HMStringResItem
  757.         {                                    // 25% reduction button
  758.             {0, 0},
  759.             {0, 0, 0, 0},
  760.             gxStlDialogResID, 57,
  761.             gxStlDialogResID, 58,
  762.             gxStlDialogResID, 59,
  763.             gxStlDialogResID, 60
  764.         }
  765.     }
  766. };
  767.  
  768. // This 'hdlg' resource tells the system what help strings to display when the user moves
  769. // the mouse over the LaserWriter IISC's Print dialog with help enabled.
  770.  
  771. resource 'hdlg' (gxJobDialogResID, sysheap, purgeable)
  772. {
  773.     HelpMgrVersion,
  774.     0,                                        // Start help with the first item in the corresponding 'DITL'
  775.     hmDefaultOptions,
  776.     0,                                        // Default balloon definition function
  777.     0,                                        // Ballon variation code - hang below and to the right
  778.     HMStringResItem                    //    This list references help strings to be used for any missing items
  779.     {
  780.         {0, 0},
  781.         {0, 0, 0, 0},
  782.         gxJobDialogResID, 1,
  783.         gxJobDialogResID, 2,
  784.         gxJobDialogResID, 3,
  785.         gxJobDialogResID, 4
  786.     },
  787.     {
  788.         /* [1] */
  789.         HMStringResItem
  790.         {                                    // Print button
  791.             {0, 0},
  792.             {0, 0, 0, 0},
  793.             gxJobDialogResID, 5,
  794.             gxJobDialogResID, 6,
  795.             gxJobDialogResID, 7,
  796.             gxJobDialogResID, 8
  797.         },
  798.         /* [2] */
  799.         HMStringResItem
  800.         {                                    // Cancel button
  801.             {0, 0},
  802.             {0, 0, 0, 0},
  803.             gxJobDialogResID, 9,
  804.             gxJobDialogResID, 10,
  805.             gxJobDialogResID, 11,
  806.             gxJobDialogResID, 12
  807.         },
  808.         /* [3] */
  809.         HMSkipItem
  810.         {                                    // Title of the print dialog
  811.         },
  812.         /* [4] */
  813.         HMSkipItem
  814.         {                                    // Horizontal line
  815.         },
  816.         /* [5] */
  817.         HMSkipItem
  818.         {                                    // A dummy user item
  819.         },
  820.         /* [6] */
  821.         HMSkipItem
  822.         {                                    // Pages string
  823.         },
  824.         /* [7] */
  825.         HMStringResItem                
  826.         {                                    // All button
  827.             {0, 0},
  828.             {0, 0, 0, 0},
  829.             gxJobDialogResID, 17,
  830.             gxJobDialogResID, 18,
  831.             gxJobDialogResID, 19,
  832.             gxJobDialogResID, 20
  833.         },
  834.         /* [8] */
  835.         HMStringResItem
  836.         {                                    // From button
  837.             {0, 0},
  838.             {0, 0, 0, 0},
  839.             gxJobDialogResID, 21,
  840.             gxJobDialogResID, 22,
  841.             gxJobDialogResID, 23,
  842.             gxJobDialogResID, 24
  843.         },
  844.         /* [9] */
  845.         HMStringResItem 
  846.         {                                    // Edittext field for the starting page number
  847.             {0, 0},
  848.             {0, 0, 0, 0},
  849.             gxJobDialogResID, 25,
  850.             gxJobDialogResID, 26,
  851.             gxJobDialogResID, 27,
  852.             gxJobDialogResID, 28
  853.         },
  854.         /* [10] */
  855.         HMSkipItem 
  856.         {                                    // To string
  857.         },
  858.         /* [11] */
  859.         HMStringResItem
  860.         {                                    // Edittext field for the ending page number
  861.             {0, 0},
  862.             {0, 0, 0, 0},
  863.             gxJobDialogResID, 29,
  864.             gxJobDialogResID, 30,
  865.             gxJobDialogResID, 31,
  866.             gxJobDialogResID, 32
  867.         },
  868.         /* [12] */
  869.         HMSkipItem 
  870.         {                                    // Copies string
  871.         },
  872.         /* [13] */
  873.         HMStringResItem 
  874.         {                                    //    Edittext for the number of copies
  875.             {0, 0},
  876.             {0, 0, 0, 0},
  877.             gxJobDialogResID, 13,
  878.             gxJobDialogResID, 14,
  879.             gxJobDialogResID, 15,
  880.             gxJobDialogResID, 16
  881.         },
  882.         /* [14] */
  883.         HMSkipItem 
  884.         {                                    //    Paper Source string
  885.         },
  886.         /* [15] */
  887.         HMStringResItem 
  888.         {                                    // Paper cassette button
  889.             {0, 0},
  890.             {0, 0, 0, 0},
  891.             gxJobDialogResID, 33,
  892.             gxJobDialogResID, 34,
  893.             gxJobDialogResID, 35,
  894.             gxJobDialogResID, 36
  895.         },
  896.         /* [16] */
  897.         HMStringResItem 
  898.         {                                    // Manual Feed button
  899.             {0, 0},
  900.             {0, 0, 0, 0},
  901.             gxJobDialogResID, 37,
  902.             gxJobDialogResID, 38,
  903.             gxJobDialogResID, 39,
  904.             gxJobDialogResID, 40
  905.         },
  906.         /* [17] */
  907.         HMSkipItem 
  908.         {                                    // Version string
  909.         },
  910.         /* [18] */
  911.         HMSkipItem 
  912.         {                                    // User item surrounding Print button
  913.         }
  914.     }
  915. };
  916.  
  917. // This 'STR#' resource contains the help strings that are referenced in the 'hdlg' resource
  918. // that corresponds to the PrStlDialog.
  919.  
  920. resource 'STR#' (gxStlDialogResID, sysheap, purgeable)
  921. {
  922.     {
  923.         /* [1] */    "Missing enabled item in hdlg -8192",
  924.         /* [2] */    "Missing disabled item in hdlg -8192",
  925.         /* [3] */    "Missing checked item in hdlg -8192",
  926.         /* [4] */    "Missing other item in hdlg -8192",
  927.         /* [5] */    "To confirm the settings in this box and close the box, click this button (or press the Return or Enter key).",
  928.         /* [6] */    "",
  929.         /* [7] */    "",
  930.         /* [8] */    "",
  931.         /* [9] */    "To cancel any changes you have made to the settings in this box and close the box, click this button.",
  932.         /* [10] */    "",
  933.         /* [11] */    "",
  934.         /* [12] */    "",
  935.         /* [13] */    "To print your document with standard U.S. letter paper (8 1/2 by 11 inches), click this button.",
  936.         /* [14] */    "",
  937.         /* [15] */    "When this button is selected, your document is set up for standard U.S. letter "
  938.                         "paper (8 1/2 by 11 inches).",
  939.         /* [16] */    "",
  940.         /* [17] */    "To print your document with A4 paper (a standard European letter size, 8 1/2 by "
  941.                         "11 2/3 inches), click this button.",
  942.         /* [18] */    "",
  943.         /* [19] */    "When this button is selected, your document is set up for A4 paper (a standard "
  944.                         "European letter size, 8 1/2 by 11 2/3 inches).",
  945.         /* [20] */    "",
  946.         /* [21] */    "To print your document with U.S. legal paper (8 1/2 by 14 inches), click this button.",
  947.         /* [22] */    "",
  948.         /* [23] */    "When this button is selected, your document will be set up for U.S. legal paper (8 1/2 by 14 inches).",
  949.         /* [24] */    "",
  950.         /* [25] */    "To print your document with B5 paper (a standard European letter size, approximately 6 by 10 inches), click this button.",
  951.         /* [26] */    "",
  952.         /* [27] */    "When this button is selected, your document is set up for B5 paper (a standard "
  953.                         "European letter size, approximately 6 by 10 inches).",
  954.         /* [28] */    "",
  955.         /* [29] */    "To print your document on number 10 (U.S. business-size) envelopes, click this button.",
  956.         /* [30] */    "",
  957.         /* [31] */    "When this button is selected, your document is set up for number 10 (business-size) envelopes.",
  958.         /* [32] */    "",
  959.         /* [33] */    "To set up your document for portrait (tall) printing, click this icon.",
  960.         /* [34] */    "",
  961.         /* [35] */    "When this icon is selected, your document is set up for portrait (tall) printing.",
  962.         /* [36] */    "",
  963.         /* [37] */    "To set up your document for landscape (wide) printing, click this icon.",
  964.         /* [38] */    "",
  965.         /* [39] */    "When this icon is selected, your document is set up for landscape (wide) printing.",
  966.         /* [40] */    "",
  967.         /* [41] */    "To print your document full size (with no reduction), click this button.",
  968.         /* [42] */    "",
  969.         /* [43] */    "When this button is selected, your document is printed at full size (with no reduction).",
  970.         /* [44] */    "",
  971.         /* [45] */    "To print your document at three-quarters its actual size, click this button.",
  972.         /* [46] */    "To print your document at three-quarters its actual size, click this button.  Not "
  973.                         "available because the application program you are using always prints images at actual size.",
  974.         /* [47] */    "When this button is selected, your document is printed at three-quarters its actual size.",
  975.         /* [48] */    "",
  976.         /* [49] */    "To print your document at one-half its actual size, click this button.",
  977.         /* [50] */    "To print your document at one-half its actual size, click this button.  Not available "
  978.                         "because the application program you are using always prints images at actual size.",
  979.         /* [51] */    "When this button is selected, your document is printed at one-half its actual size.",
  980.         /* [52] */    "",
  981.         /* [53] */    "To reduce the printed document by 4% to correct for possible distortions in graphic "
  982.                         "images, click this box.",
  983.         /* [54] */    "To reduce the printed document by 4% to correct for distortions in graphic images, "
  984.                         "click this box.  Not available because the application program you are using "
  985.                         "makes this correction automatically.",
  986.         /* [55] */    "When this box is checked, the printed document is reduced by 4% to correct for "
  987.                         "possible distortions in graphic images.",
  988.         /* [56] */    "",
  989.         /* [57] */    "To print your document at one-fourth its actual size, click this button.",
  990.         /* [58] */    "To print your document at one-fourth its actual size, click this button.  Not available "
  991.                         "because the application program you are using always prints images at actual size.",
  992.         /* [59] */    "When this button is selected, your document is printed at one-fourth its actual size.",
  993.         /* [60] */    ""
  994.     }
  995. };
  996.  
  997.  
  998. // This 'STR#' resource contains the help strings that are referenced in the 'hdlg' resource
  999. // that corresponds to the PrJobDialog.
  1000.  
  1001.  
  1002. resource 'STR#' (gxJobDialogResID, sysheap, purgeable)
  1003. {
  1004.     {
  1005.         /* [1] */    "Missing enabled item in hdlg -8191",
  1006.         /* [2] */    "Missing disabled item in hdlg -8191",
  1007.         /* [3] */    "Missing checked item in hdlg -8191",
  1008.         /* [4] */    "Missing other item in hdlg -8191",
  1009.         /* [5] */    "To start printing using the settings in this box, click this button (or press the Return or Enter key).",
  1010.         /* [6] */    "",
  1011.         /* [7] */    "",
  1012.         /* [8] */    "",
  1013.         /* [9] */    "To cancel printing without saving any changes you made to settings in this box, click this button.",
  1014.         /* [10] */    "",
  1015.         /* [11] */    "",
  1016.         /* [12] */    "",
  1017.         /* [13] */    "",
  1018.         /* [14] */    "Type the number of copies to be printed here.",
  1019.         /* [15] */    "",
  1020.         /* [16] */    "",
  1021.         /* [17] */    "To print all the pages in the document, click this button.",
  1022.         /* [18] */    "",
  1023.         /* [19] */    "When this button is selected, all the pages in the document are printed.",
  1024.         /* [20] */    "",
  1025.         /* [21] */    "To print a specified range of pages, click this button and type the page numbers"
  1026.                         " in the boxes to the right.  To print one page, type its number in both boxes.",
  1027.         /* [22] */    "",
  1028.         /* [23] */    "When this button is selected, only the pages specified in the boxes to the right are printed.",
  1029.         /* [24] */    "",
  1030.         /* [25] */    "To specify a range of pages to be printed, type the number of the first page here.",
  1031.         /* [26] */    "",
  1032.         /* [27] */    "",
  1033.         /* [28] */    "",
  1034.         /* [29] */    "To specify a range of pages to be printed, type the number of the last page here.",
  1035.         /* [30] */    "",
  1036.         /* [31] */    "",
  1037.         /* [32] */    "",
  1038.         /* [33] */    "To print on paper automatically fed into the printer from the paper cassette, click this button.",
  1039.         /* [34] */    "",
  1040.         /* [35] */    "When this button is selected, the printer uses paper automatically fed from the paper cassette.",
  1041.         /* [36] */    "",
  1042.         /* [37] */    "To print on paper in the multipurpose tray, click this button.",
  1043.         /* [38] */    "",
  1044.         /* [39] */    "When this button is selected, the printer uses paper in the multipurpose tray.",
  1045.         /* [40] */    ""
  1046.     }
  1047. };
  1048.  
  1049.